package main
import "fmt"

//方法1
/* func main(){
	//实现功能：求和：1+2+3+4+5
	//定义变量
	var i1 int = 1
	var i2 int = 2
	var i3 int = 3
	var i4 int = 4
	var i5 int = 5 
	//求和
	//定义一个变量，接收和
	var sum int = 0
	sum += i1
	sum += i2
    sum += i3
    sum += i4
    sum += i5
	//输出
	fmt.Println(sum)
} */

//方法2
/* func main(){
	var i int = 1
	var sum int = 0
	sum += i
	i++
	sum += i
	i++
	sum += i
	i++
	sum += i
	i++
	sum += i
	i++
	fmt.Println(sum)
} */

//for循环
/* func main(){
	var sum int = 0
	for i :=1 ; i<=5 ;i++{
		sum += i
	}
	fmt.Println(sum)
} */

//灵活版:
/* func main(){
	i := 1 // 变量的初始化
	for i<=5 { //判断条件
		fmt.Println("你好golang") //循环体
		i++ //迭代
	}
} */

//死循环版
/* func main(){
	for ; ;{
		fmt.Println("你好golang")
	}
} */

//for range
func main(){
	var str string = "hello golang嗨嗨"
	//方式1：for循环：按照字节进行遍历输出
	/* for i := 0;i < len (str); i++ {//i:理解为字符串的下标
      fmt.Printf("%c \n",str[i])
	} */
	//方式2: for range
	for i ,value := range str{
		fmt.Printf("索引为：%d,具体的值为: %c \n",i,value)
	}
	//对str进行遍历，遍历的每个结果的索引值被i接收，每个结果的具体数值被value接收
    //遍历对字符进行遍历的
}